package com.tiancheng.trade.merchant.model;

import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * @Author: kellen
 * @Description: 商户支付注册
 * @Date: create in 2024/11/19 15:02
 */
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@TableName(value = "merchant_pay_reg")
public class MerchantPayReg extends BaseModel {

    /**
     * 注册流水号（交易中台生成）
     */
    private String regCode;
    /**
     * 商户编码
     */
    @NotBlank(message = "商户不允许为空")
    private String merchantCode;
    /**
     * 机构支付通道id
     */
    @NotNull(message = "机构支付通道id")
    private Long orgPaymentChannelId;

    /**
     * 商户营业名称
     */
    private String shopName;

    /**
     * 开户行行号
     */
    private String bankNo;
    /**
     * 账户类型:0:个人账户  1:公司账户
     */
    private String bankAcctType;
    /**
     * 开户行帐号
     */
    private String bankAcctNo;
    /**
     * 开户帐号名称
     */
    private String bankAcctName;
    /**
     * 银行预留手机号
     */
    private String bankAcctPhone;
    /**
     * 营业省份id
     */
    private String shopProvinceId;
    /**
     * 营业市id
     */
    private String shopCityId;
    /**
     * 营业区id
     */
    private String shopCountryId;
    /**
     * 行业类别编码
     */
    private String mccCode;
    /**
     * 是否连锁商户:是否连锁商户，0是，1否
     */
    private Integer isChain;
    /**
     * 申请开通状态：0-申请中，1-申请通过，2-失败
     */
    private Integer applyStatus;
    /**
     * 开通子状态：
     * apply_sub_status
     */
    private String applySubStatus;
    /**
     * 申请失败错误码：参照渠道返回的状态码
     */
    private String auditErrorCode;
    /**
     * 申请失败返回错误
     */
    private String auditErrorMsg;
    /**
     * 支付通道分配商户号，申请通过后返回
     */
    private String channelMerNo;
    /**
     * 企业号，对于入网成功且开通泛账户的商户，返回企业号。此返回参数非实时更新
     */
    private String companyNo;
    /**
     * 扩展信息
     */
    private String extendInfo;
    /**
     * 渠道签约流水号
     */
    private String channelRegId;
    /**
     * 当前注册流程节点
     */
    private Integer regCurrentFlows;
    /**
     * 下一个注册流程节点
     */
    private Integer regNextFlows;
    /**
     * 是否机构子商户号，1-是，2-否
     */
    private Integer orgSubMerchant;
    /**
     * 营业执照有效期-开始
     */
    private String shopLicenseBeginDate;
    /**
     * 营业执照有效期-结束
     */
    private String shopLicenseEndDate;
    /**
     * 通知地址
     */
    private String notifyUrl;
    /**
     * 进件模式：0-人工进件，1-自助进件
     */
    private Integer regMode;
    /**
     * 删除状态：0-未删除，1-已删除
     */
    private Integer deleteStatus;

}
